# 导包
import unittest
from api.login import LoginAPI
import requests
import app


# 创建测试类
class TestLoginAPI(unittest.TestCase):
    # 前置处理
    def setUp(self) -> None:
        # 实例化接口类
        self.login_api = LoginAPI()
        # 创建session对象
        self.session = requests.session()

    # 后置处理
    def tearDown(self) -> None:
        self.session.close()

    # 登录成功
    def test_login(self):
        response = self.login_api.login(self.session, app.LOGIN_DATA)
        print(response.json())
        # 断言
        self.assertEqual(200, response.status_code)
        self.assertEqual(True, response.json().get("success"))
        self.assertEqual(10000, response.json().get("code"))
        self.assertIn("操作成功", response.json().get("message"))
        # 提取登录状态并保存在app中
        app.headers_data["Authorization"] = "Bearer " + response.json().get("data")

